home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Freelog 125
/
Freelog_MarsAvril2015_No125.iso
/
Musique
/
Quod Libet
/
quodlibet-3.3.0-installer.exe
/
bin
/
quodlibet
/
mmkeys
/
pyhook.pyc
(
.txt
)
< prev
Wrap
Python Compiled Bytecode
|
2014-12-31
|
2KB
|
50 lines
# Source Generated with Decompyle++
# File: in.pyc (Python 2.7)
from gi.repository import GLib
from _base import MMKeysBackend, MMKeysAction, MMKeysImportError
try:
import pyHook
except ImportError:
raise MMKeysImportError
class PyHookBackend(MMKeysBackend):
_EVENTS = {
'Media_Prev_Track': MMKeysAction.PREV,
'Media_Next_Track': MMKeysAction.NEXT,
'Media_Stop': MMKeysAction.STOP,
'Media_Play_Pause': MMKeysAction.PLAYPAUSE }
def __init__(self, name, callback):
self._hm = pyHook.HookManager()
self._hm.KeyDown = self._keyboard_cb
self._callback = callback
self._hm.HookKeyboard()
def _keyboard_cb(self, event):
def idle_cb(action):
if not self._callback:
return None
None._callback(action)
return False
key = event.Key
if key in self._EVENTS:
GLib.idle_add(idle_cb, self._EVENTS[key])
return True
def cancel(self):
if not self._hm:
return None
None._hm.UnhookKeyboard()
self._hm.KeyDown = None
self._hm = None
self._callback = None